Помилка в синхронізації (MPSSE)

Виявлено помилку, через яку не проходить процедура пересинхронізації додатковим імпульсом SCK у наступних умовах:

  • програма у мікроконтролері виставляє на ніжці ніжку SCK високий рівень;
  • використовується MPSSE-адаптер (FT2232, FT4232H, FT232H).

При роботі через LPT-адаптер синхронізація проходить нормально, після стирання через нього знову можна запрограмувати через USB-адаптер.

Схоже, помилка давня, але в більшості випадків до неї не доходило, бо синхронізація встановлювалася після обов’язкового початкового циклу RESET-синхронізації.
Наче хтось колись на щось подібне жалівся, але я не міг відтворити у себе і не знаходив нічого підозрілого в коді avreal. На цей раз мені знадобилося «підняти» одну стару плату з AT90S8515 і я таки отримав оте «Can’t resync» на USB-адаптері. Спробував за допомогою маленької тестової програми відтворити ситуацію на ATmega168 — все нормально працює і через MPSSE, синхронізується першою RESET-спробою, до SCK-імпульсів справа не доходить. А от AT90S8515 не програмується.

Все необхідне я зробив через ByteBlaster, помилку ловитиму за хвіст найближчим часом.


Помилку виправлено у версії 1.28r13.

Leave a Reply

[flagcounter image]